<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Symbol</title>
</head>

<body>
    <script>
        // let s1 = Symbol('foo')
        // let s2 = Symbol('bar')
        // 注意，Symbol函数的参数只是表示对当前 Symbol 值的描述，因此相同参数的Symbol函数的返回值是不相等的。

        // 没有参数的情况
        // let s1 = Symbol();
        // let s2 = Symbol();

        // s1 === s2 // false

        // 有参数的情况
        let s1 = Symbol('foo');
        let s2 = Symbol('foo');

        // s1 === s2 // false

        // 实例：： 消除魔术字符串
        // 魔术字符串指的是，在代码之中多次出现、与代码形成强耦合的某一个具体的字符串或者数值。风格良好的代码，应该尽量消除魔术字符串，改由含义清晰的变量代替。
    </script>
</body>

</html>